<?php
/**
 * GKPHP - 极客框架
 * 路由DOMAIN_INFO模式
 */
namespace GK\Route\Driver;
use GK\Route\Driver;
class Domain_Info extends Driver
{
    public static function CheckRoute($Data){
        $Route=array();
        if(!isset($Data['RouteConfig']['url_route_config'][$_SERVER['HTTP_HOST']]))exit('非法访问');
        $RouteConfig=explode('/',$Data['RouteConfig']['url_route_config'][$_SERVER['HTTP_HOST']]);
        $Route['Module']=$RouteConfig[0];
        unset($RouteConfig[0]);
        if(isset($_SERVER['REQUEST_URI'])&&$_SERVER['REQUEST_URI']!='/'){
            $RouteUrl=explode('/',trim(substr($_SERVER['REQUEST_URI'],0,strpos($_SERVER['REQUEST_URI'],'?'))?:$_SERVER['REQUEST_URI'],'/'));
            // if(count($RouteConfig)>1){
            //     if(isset($RouteConfig[0])){
            //         $Route['Controller']=ucwords($RouteConfig[0]);
            //     }
            //     if(isset($RouteConfig[1])){
            //         $Route['Action']=ucwords($RouteConfig[1]);
            //     }
            // }else{
            //     if(isset($RouteUrl[0])){
            //         $Route['Controller']=ucwords($RouteUrl[0]);
            //     }
            //     unset($RouteUrl[0]);
            //     if(isset($RouteUrl[1])){
            //         $Route['Action']=ucwords($RouteUrl[1]);
            //         unset($RouteUrl[1]);
            //     }
            // }
            switch(count($RouteConfig)){
                case '2':
                    if(isset($RouteConfig[1])){
                        $Route['Controller']=ucwords($RouteConfig[1]);
                    }
                    if(isset($RouteConfig[2])){
                        $Route['Action']=ucwords($RouteConfig[2]);
                    }
                    $i='0';
                break;
                case '1':
                    if(isset($RouteConfig[1])){
                        $Route['Controller']=ucwords($RouteConfig[1]);
                    }
                    if(isset($RouteUrl[0])){
                        $Route['Action']=ucwords($RouteUrl[0]);
                        unset($RouteUrl[0]);
                    }
                    $i='1';
                break;
                default:
                    if(isset($RouteUrl[0])){
                        $Route['Controller']=ucwords($RouteUrl[0]);
                        unset($RouteUrl[0]);
                    }
                    if(isset($RouteUrl[1])){
                        $Route['Action']=ucwords($RouteUrl[1]);
                        unset($RouteUrl[1]);
                    }
                    $i='2';
            }
            // switch(count($RouteConfig)){
            //     case '3':
            //         $i='0';
            //     break;
            //     case '2':
            //         $i='1';
            //     break;
            //     default:
            //         $i='2';
            // }
            $RouteCount=count($RouteUrl)+$i;
            if(isset($RouteCount)){
                while($i<$RouteCount){
                    if(isset($RouteUrl[$i+1])){
                        $_GET[$RouteUrl[$i]]=$RouteUrl[$i+1];
                    }
                    $i=$i+2;
                }
            }
        }else{
            if(isset($RouteConfig[1])){
                $Route['Controller']=ucwords($RouteConfig[1]);
            }
            if(isset($RouteConfig[2])){
                $Route['Action']=ucwords($RouteConfig[2]);
            }
        }
        return $Route;
    }
}